/*
 * Mail.h
 *
 *  Created on: 10/09/2010
 *      Author: julfc
 */

#ifndef MAIL_H_
#define MAIL_H_

//#include <cstring>
//#include <stdio.h>
//#include <stdlib.h>

#include <cstdio>
#include <sstream>
#include <string>
#include <iostream>
#include <vector>
#include <fstream>
#include <cstdlib>
#include "../moduloConsultas/Parser.h"

using namespace std;

enum DatoAObtener {
  DATE,
  SUBJECT,
  FROM,
  TO,
  CC,
  BODY
};

class Mail {
public:

	Mail();
	string obtenerDatoMail (char* cadena, DatoAObtener datoAObtener);
	string getDate(string cadena);
	string getSubject(string cadena);
	string getFrom(string cadena);
	vector<string> getTo(string cadena);
	vector<string> getCc(string cadena);
	string getBody(char* cadena);
	virtual ~Mail();
	string mailToString(char* cadena);

private:
	bool validarMail(string mail);
	int obterPrimeraOcurrencia(string cadena, int desde, string cadenaABuscar);
	string limpiarDirMail(string cadena);
	vector<string> obtenerVectorMails(string cadena);
	vector<string> splitMail(string &s);
};

#endif /* MAIL_H_ */
